System and method for monitoring the use of an exercise apparatus

ABSTRACT

A smart phone or other portable device ( 104, 106, 108 ) is used to identify exercises, moves or other tricks performed by a user of sporting equipment such as an exercise apparatus ( 110, 112, 114 ). The device may be on the user or mounted as part of the equipment. A gyroscope, accelerometer or other type of sensor ( 138 ) is used to recognize actions performed with the apparatus, such as flips, spins or other tricks performed with bicycles, pogo sticks, and the like. Feedback on the exercise performance may be provided to the user and/or published on a social networking website ( 102, 150 ). The device may act as a training aid, providing quality scores and data regarding the exercises. The device may be integrated into the body of the equipment. A processor ( 126 ) may monitor movements of the equipment. Such movements may be classified as a specific type of trick.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims the benefit of the filing date of U.S. Provisional Application No. 61/561,381, filed Nov. 18, 2011, entitled System And Method For Monitoring The Use Of An Exercise Apparatus, the entire disclosure of which is hereby incorporated herein by reference.

BACKGROUND

Sporting equipment such as roller skates, skateboards, bicycles, and pogo sticks have long been used to carry out acrobatic exercises. Jumps, flips, and axels are commonly performed by sporting enthusiasts who use such equipment. To these enthusiasts, being able to perform difficult exercises or tricks can be a source of pride and a sure sign of skill and sporting achievement. In some cases, however, it may be difficult to measure certain information associated with the exercises or tricks. Such information may include height of a jump, number of rotations, position of the user or the device, etc.

Activities involving such sporting equipment may be performed individually or as part of a competition or contest. The social aspect may include sharing videos of tricks via a website. However, it may also be difficult to provide real-time information to people other than participants and spectators who are in the same location.

SUMMARY

In one aspect, an apparatus is provided, the apparatus including a first sensor, a second sensor, an output device, a memory, and a processor coupled to the first sensor, the second sensor, and the memory. The second sensor is for sensing a displacement of the apparatus. The output device is for outputting feedback relating to movements of the apparatus. The memory is for storing a database of exercise signatures, each exercise signature identifying a displacement that is characteristic of a corresponding exercise. The processor is configured to detect that a jump is performed, the detection is based on a signal from one of the first sensor and the second sensor and produce, based on signal from the second sensor, a signature for a movement of the apparatus during the jump, the signature indicating a displacement of the apparatus that occurred as a result of the movement. In addition, the processor is configured to classify the movement as a specific type of trick by comparing the signature for the movement to the database of exercise signatures and output feedback for presentation to one or more users, the feedback depending on the type of trick which the movement is classified as.

In some instances, the memory is configured to store a scoring model for tricks performed using the exercise apparatus and the processor is further configured to calculate a score based on the signature for the movement and the scoring model. In other instances, the processor is further configured to transmit the score to a remote server.

In addition, in some instances, the processor is further configured to transmit the signature for the movement to a remote server. In other instances, the displacement indicated by the signature for the movement is one of a vertical displacement, a horizontal displacement, and an angular displacement of the apparatus. In yet other instances, the signature for the movement also indicates at least one of a speed and an acceleration of the apparatus. In yet further instances, the signature for the movement indicates a plurality of displacements of the apparatus that occurred as a result of the movement.

Moreover, in some instances, the first sensor senses whether a user is touching a part of a handlebar and the signature also indicates whether the user is touching the part of the handlebar. In other instances, the processor is further configured to detect that the first sensor is available to provide data to the processor.

Furthermore, in some instances, the apparatus is one of a pogo stick, skateboard, bicycle, and skate. In other instances, the apparatus is a portable computing device. In further instances, the apparatus is integrated into an exercise apparatus.

In another aspect, a method is provided, the method comprising detecting, by a device associated with an exercise apparatus, a start of a trick is performed using the exercise apparatus, obtaining, by the device, an indication of a displacement of the device that occurred as a result of a movement of the device during the trick using the exercise apparatus, and classifying the movement as a specific type of trick based on the indication of displacement of the device.

In some instances, the device is connected to the exercise apparatus. In other instances, the device is disposed within the exercise apparatus. In yet other instances, the device includes a sensor coupled to a processor. In yet other instances, the displacement of the device is one of a vertical displacement, a horizontal displacement, and an angular displacement. In yet further instances, the start of the trick is performed is detected based on a vertical displacement of the device exceeding a threshold.

In addition, in some instances, the method includes calculating a score that is associated with the indication of the displacement of the device. In other instances, the method further includes detecting, by the device, that a sensor is associated with the exercise apparatus, and the sensor is available to feed data to the device, wherein the obtaining of the indication of the displacement of the device includes receiving the indication of the displacement from the sensor.

In yet another aspect, a method is provided, the method including receiving, at a server, an indication of displacement of a device that occurred as a result of a movement of the device during a trick performed using an exercise apparatus, classifying, by the server, the movement as a type of trick based on the indication of displacement, and publishing, by the server, on a web-site, an indication of the type of trick which the movement is classified as and a score that is based on the indication of displacement.

In some instances, the device is associated with a user, and the method further includes updating, by the server, a record containing information relating to past tricks performed by the user to include information about the movement, recalculating, based on the indication of displacement, a statistical measure that is associated with the performance of the past tricks by the user, and publishing, by the sever, via the web-site, the statistical measure.

In addition, in some instances, the method further includes receiving, at the server, an indication whether a user is touching a portion of the exercise apparatus during the trick, and wherein the movement is classified based on the indication of whether the user is touching the portion of the exercise apparatus. In other instances, the method further includes ranking, by the server, a user associated with the device in relation to other users, the ranking is based on the indication of displacement.

Moreover, in some instances, the server is further configured to provide a trick application to a portable device of a user, the trick application is configured to perform at least one of data collection from sensors associated with the exercise apparatus, processing of the collected data, and presentation of an indication of the collected data to the user. In yet other instances, the trick application is provided upon purchase of the exercise apparatus. In other instances, the server is further configured to provide an update of the trick application to the portable device.

In yet another aspect, a system is provided that includes a first exercise apparatus, a first portable computing device, and a server. The first exercise apparatus is configured to perform one or more tricks when operated by a user. The first portable computing device is configured to recognize selected tricks performed with the first exercise apparatus. The server is configured to receive a first indication of a given one of the selected tricks performed with the first exercise apparatus, and publish, on a web-site, information relating to the given one of the selected tricks performed with the first exercise apparatus, the published information is accessible to one or more authorized users.

In some instances, the information relating to the given one of the selected tricks performed is published on a web page that is personal to a user associated with the first portable computing device. In other instances, the first portable computing device is a portable communications device. In yet other instances, the first portable computing device is configured to recognize that a sensor is associated with the first exercise apparatus, and the sensor is available to feed data to the first portable computing device, wherein the information relating to the given one of the selected tricks performed includes an indication of a displacement that is obtained using the sensor.

In addition, in some instances, the system further includes a second exercise apparatus and a second portable computing device for automatically recognizing tricks performed with the second exercise apparatus, wherein the server is also configured to publish a second indication, the second indication comparing tricks performed on the first and second exercise apparatuses.

Moreover, in some instances, the server is configured to publish the second indication in real time. In other instances, the second indication is shared with one or more competitors and spectators of a competition. In yet other instances, the sharing is done using one or more of a webpage, email, text message and tweet.

In yet another aspect, an apparatus is provided, the apparatus including an interface, a memory, and a processor coupled to the memory. The interface is for connecting to a device via a communications network. The memory is for storing a database of exercise signatures, each signature identifying a displacement that is characteristic of a corresponding exercise. The process is configured to receive from the device, over the communications network, a signature of a movement of a device that occurred during a trick performed using an exercise apparatus, classify the movement as a specific type of trick by comparing the signature to the database of exercise signatures that is stored in the memory, and publish on a web-site, an indication of the type of exercise which the movement is classified and a score that is based on the signature.

In some instances, the memory is configured to store a record containing information relating to past exercises performed by a user. The processor is further configured to update the record to include information about the movement, recalculate, based on the received signature, a statistical measure that is associated with the performance of tricks by the user and publish via the web-site, the statistical measure.

In addition, in some instances, the signature includes an indication whether a user is touching a portion of the exercise apparatus during the trick and the processor is further configured to classify the movement based on the indication of whether the user is touching the portion of the exercise apparatus. In other instances, the processor is further configured to update a ranking of a user associated with the device in relation to other users, the ranking is based on the signature.

Moreover, in some instances, the processor is further configured to provide a trick application to a portable device of a user, the trick application is configured to perform at least one of data collection from sensors associated with the exercise apparatus, processing of the collected data, and presentation of an indication of the collected data to a user. In other instances, the trick application is provided upon purchase of the exercise apparatus. In yet other instances, the processor is further configured to provide an update of the trick application to the portable device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a schematic diagram of a system in accordance with aspects of the invention.

FIGS. 2A-C depict an example of an exercise apparatus and its use in accordance with aspects of the invention.

FIGS. 3A-C depict another example of an exercise apparatus and its use in accordance with aspects of the invention.

FIG. 4 depicts an example of a website interface in accordance with aspects of the invention.

FIG. 5 depicts another example of a website interface in accordance with aspects of the invention.

FIG. 6 is a flowchart of a process in accordance with aspects of the invention.

FIG. 7 is a flowchart of subtasks associated with the flowchart of FIG. 6.

FIG. 8 is a flowchart of another process in accordance with aspects of the invention.

DETAILED DESCRIPTION

In one aspect, a smart phone or other device is used to identify exercises, moves or other tricks performed by a user of a piece of sporting equipment. The smart phone can be in the user's pocket or it can be mounted directly on an exercise apparatus. With a gyroscope, accelerometer, or another type of sensor, the smart phone recognizes actions performed with the exercise apparatus. The recognized actions may be flips, spins or other tricks performed with bicycles, pogo sticks, and the like. The smart phone may provide the user with feedback on the exercises' performance and/or it may publish information about the tricks on a social networking website. In the former case, the smart phone may act as a training aid by providing quality scores and data regarding the performed exercises.

In another aspect, a processor and/or transmitter is integrated into the body of an exercise apparatus or other piece of sporting equipment, such as a skateboard, pogo stick or bicycle. Using at least one sensor, the processor monitors the movements of the exercise apparatus, and when a jump is performed, it may classify the jump as a specific type of trick, such as a spin or a flip. Like the smart phone in the above example, the processor is able to output exercise feedback and/or have the information published on a website.

As shown in FIG. 1, an exemplary system 100 may include a server 102, one or more portable devices 104, 106, and 108, exercise apparatuses 110, 112, and 114, and network 116. Memory 118 of server 102 stores information accessible by a processor 120, including instructions 122 that may be executed by the processor 120. Memory also includes data 124 that may be retrieved, manipulated or stored by the processor. The memory may be of any type capable of storing information accessible by the processor, such as a hard-drive, memory card, ROM, RAM, DVD, CD-ROM, write-capable, and read-only memories. The processor 120 may be any well-known processor, such as commercially available processors, such as the Intel® Xenon E5630 or the AMD® Phenom II. Alternatively, the processor may be a dedicated controller such as an ASIC.

The instructions 122 may be any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by the processor. In that regard, the terms “instructions,” “steps” and “programs” may be used interchangeably herein. The instructions may be stored in object code format for direct processing by the processor, or in any other computer language including scripts or collections of independent source code modules that are interpreted on demand or compiled in advance. Functions, methods and routines of the instructions are explained in more detail below.

Data 124 may be retrieved, stored or modified by processor 120 in accordance with the instructions 122. For instance, although the system and method is not limited by any particular data structure, the data may be stored in computer registers, in a relational database as a table having a plurality of different fields and records, or XML documents. The data may also be formatted in any computer-readable format such as, but not limited to, binary values, ASCII or Unicode. Moreover, the data may comprise any information sufficient to identify the relevant information, such as numbers, descriptive text, proprietary codes, pointers, references to data stored in other memories (including other network locations) or information that is used by a function to calculate the relevant data.

Although FIG. 1 functionally illustrates the processor and memory as being within the same block, it will be understood by those of ordinary skill in the art that the processor and memory may actually comprise multiple processors and memories that may or may not be stored within the same physical housing. For example, some of the instructions and data may be stored on removable CD-ROM and others within a read-only computer chip. Some or all of the instructions and data may be stored in a location physically remote from, yet still accessible by, the processor. Similarly, the processor may actually comprise a collection of processors which may or may not operate in parallel.

The server 102 may be at one node of the network 116 and capable of directly and indirectly communicating with other nodes of the network. For example, server 102 may comprise a web server that is capable of communicating with portable device 104 via the network 116 such that server 102 uses network 116 to transmit and display information on a screen of the portable device 104. Server 102 may also comprise a plurality of computers, e.g., a load balanced server farm, that exchange information with different nodes of a network for the purpose of receiving, processing and transmitting data to the client devices. In this instance, the client devices will typically still be at different nodes of the network than any of the computers comprising server 102.

Portable device 104 may be configured similarly to the server 102, with a processor 126, memory 128, instructions 130, and data 132. Each portable device may be a smart phone, PDA or other such device intended for use by a person, having all the internal components normally found in a personal computer. The processor 126 may be any well-known processor, such as commercially available processors, such as the Nvidia® Tegra 2 or the ARM® Cortex-A5. The portable device may include a display device 134 (for example, a touch-screen or a small LCD screen. Furthermore, the portable devices 104, 106 and 108 may each include one or more sensors 136. Sensors 136 may include, e.g., an accelerometer, a gyroscope or other sensors for detecting acceleration, angular displacement, linear displacement, and force.

Portable device 104 may be carried on the person of a user of exercise apparatus 110 or it may be affixed directly to the exercise apparatus 110. When it is carried on the user's person, portable device 104 may be secured inside a pocket or on an armband. When it is affixed to exercise apparatus 110 directly, portable device 104 may be fastened to a part of the apparatus, such as a shaft or handle, with a strap or bracket. Furthermore, portable device 104 may be removably disposed within a compartment inside apparatus. In that regard, the apparatus itself could protect the portable device 104 from damage.

Exercise apparatus 110 may be, by way of example only, a pogo stick, skateboard, bicycle, ski, roller skate, roller blade, ice skate, sled, or another type of exercise device. Exercise apparatus 110 may lack any electronic hardware or, alternatively, it may include at least one of a sensor, processor, memory, and transmitter. In one example, exercise apparatus 110 includes a sensor 138. Sensor 138 may be used for detecting the speed, linear displacement, and/or horizontal displacement of exercise apparatus 110. Signals from the sensor 138 may be forwarded to portable device 104 and analyzed there. The signals may be transmitted by wireless transceiver 140 via a BLUETOOTH™ link, or any other wireless link in either analog or digital format. When it is received at portable device 104 via corresponding transceiver 142, the signal(s) from sensor 138 may be used as input to an exercise or trick application 144, such as a pogo stick application in the case where the exercise apparatus 110 is a pogo stick.

Application 144, in one aspect, determines what exercises are performed with the exercise apparatus 110. In operation, application 144 may use sensor 136, sensor 138, or both, to obtain a signature for an action. Based on the signature, application 144 may classify the action as a specific type of exercise (e.g., spin, flip, etc.). Although in the example of FIG. 1, application 144 is executed by portable device 104, it could also be executed by a processor embedded in exercise apparatus 110, or by processor 120 of server 102. Thus, application 144 could be executed on any of the components of system 100, or distributed among the components of system 100.

In one example, application 144 uses information from a trick database 146 and a scoring model database 148 to perform its functions. The databases 146 and 148 may be separate software applications, or alternatively, each of them could be a data structure for storing information. Trick database 146 is configured to store one or more exercise (trick) signatures. Each such signature may be a string that indicates one or more of: vertical displacement, horizontal displacement, speed of the device, angular displacement of the device relative to a roll axis, angular displacement of the device relative to a yaw axis, angular displacement of the device relative to a pitch axis, jump height, jump length, jump duration, jump speed, pitch, yaw, (roll, and any combination thereof. In other words, each of the signatures indicates at least one movement or event that is characteristic of a specific exercise (trick).

Scoring model database 148 comprises scoring models for different exercises. Application 144 may use the scoring models to generate scores for different exercises that are performed with exercise apparatus 110. The scoring model for an exercise specifies a relationship between one or more exercise characteristics and a score. The score may be a number or an alphanumerical string (e.g., “1”, “6”, “A”, “F”, “very good”, “excellent”, “dangerous”, or “super dangerous”), percentage or other quantitative or qualitative measure. Each scoring model may be expressed as a formula, table, or another data structure that is capable of indicating the relationship. Exercise characteristics that could be considered in scoring models include jump height, speed, horizontal displacement, vertical displacement, and angular displacement (e.g., yaw, pitch, roll). For example, based on a scoring model for a spin exercise, a user performing a double spin (e.g., double axel) may receive an “excellent” score whereas a user who performs a single spin only (e.g., single axel) may receive a “satisfactory” score. In this example, the score is a measure of a quality of the performance of the exercise. In other examples, however, the score may reflect a different characteristic, such as risk of physical injury associated with performing the exercise, strength or endurance needed to perform the exercise, and so forth. Put differently, the scores produced by the scoring models of database 148 may indicate at least one of skill, courage, endurance, or strength of the user of the exercise apparatus.

FIG. 2A is a diagram of an exercise apparatus in accordance with one example. As shown, portable device 104 is attached to an exercise apparatus. The attachment may be done by means of a bracket (not shown). In this example, the exercise apparatus is a pogo stick 200, for instance a Flybar®, Master® or Maverick® brand pogo stick. The sensor of the pogo stick 200 may include one or more of sensors 202 a-b, 204 a-b, 206 a-b, and sensor 208, which are depicted in FIG. 2A. Sensors 202 a-b are shown as being mounted on handlebar 210 of the pogo stick 200, and they may detect whether user's hands are resting on the handlebar 210, the force applied on the handlebar 210 by the user, or any other characteristic of the user's grip on the handlebar 210. In one example, sensors 202 a-b may be capacitative touch sensors, piezoelectric sensors, or any other type of sensor that is capable of detecting touch.

In one example, sensor 202 a may detect whether the left member of handlebar 210 is held, whereas sensor 202 b may perform the same function with respect to the right member of handlebar 210. In that regard, sensors 202 a-b may be used to determine whether the user is holding the handlebar 210 with one hand, both hands, or not holding it at all. This information, in turn, can be included in the signatures for different actions performed by the user with the pogo stick 200.

Similarly, sensors 204 a-b detect one or more characteristics of the user's step on foot support 212. Sensors 204 a-b may detect whether the user feet are resting on the foot support 212, the force exerted by the user on the foot support 212, or any characteristic of the user's step on foot support 212. In one example, sensors 204 a-b may be piezoelectric sensors or any another type of sensor for detecting touch or force. In one example, sensor 204 a may detect whether the left member of foot support 212 is stepped on, whereas sensor 204 b may detect whether the right member of foot support 212 is stepped on. In that regard, sensors 204 a-b may be used to determine whether the user is standing on foot support 212 using two feet, one foot, or not resting his or her legs on foot support 212 at all. This information, in turn, can be included in the signatures for different actions performed by the user with the pogo stick 200.

Furthermore, one or more of sensors 204 a-b, 202 a-b, and 206 a-b may be either built into the pogo stick 200 or provided as aftermarket upgrades. The sensors may be provided separately, such as with a kit or package of one or more sensors and they may include an integrated transceiver, cable, or another means for connecting to device 104. Thus, the user has the flexibility of adding sensors as desired, depending on the skill of the user and/or price point desired.

To enable aftermarket sensor upgrades, the pogo stick 200 may be configured to include one or more receptacles, sockets, brackets, straps, or another similar structure into which a sensor can fit or be attached to. Following the installation of aftermarket-sensors on the pogo stick 200, the aftermarket sensors may begin transmitting an identifier of pogo stick 200 (that is programmed into the sensors by a user) or another unique identifier. Similarly, the device 104 may be programmed to recognize certain sensor identifiers (e.g., MAC addresses) as being associated with the pogo stick 200. Accordingly, the device 104 may discover and begin using aftermarket sensors based on them transmitting an identifier associated with the pogo stick 200.

FIGS. 2B and 2C illustrate examples of actions that may be performed by the user with the pogo stick 200. In particular, FIG. 2B illustrates a first action 220 and FIG. 2C illustrates a second action 240. As shown in FIG. 2B, when action 220 is performed, the user is holding handlebar 210 with both hands while both of his or her feet are not touching foot support 212. Sensors 204 a-b may sense that foot support 212 is not being touched and provide information to this effect to application 244. Application 244, in turn, may include the information that the feet of the user have departed from foot support 212 during action 210 in an action signature thereof. Similarly, with regard to FIG. 2C, sensors 202 a-b may provide signals to application 244 indicating that both members of handlebar 210 are not being held when action 240 is performed. This information may be included in an action signature for action 240 that is used to classify the action as a specific type of exercise (trick).

Furthermore, in determining what exercises (tricks) are performed with the pogo stick 200, application 144 may rely on information from one or more of sensors 206 a-b and sensor 208. Sensor 208, preferably located on or adjacent a distal end of the pogo stick that impacts the ground, measures the force exerted by piston 214 on the ground, while sensors 206 a-b may be used to monitor the movement of the pogo stick 200. In this example, sensor 206 a-b may include two units spaced along housing 216, but in other examples it may include any different number of units (e.g., 1, 3, 5 or 10). Sensors 206 a-b may each include one or more of an accelerometer, a gyroscope, or another type of sensor for detecting at least one characteristic of the movements of the pogo stick 200 while an exercise (trick) is being performed with it.

As an example, FIGS. 3A-C depict movement and possible actions that can be performed by the pogo stick 200. The actions may be classified as a specific type of exercise (trick) based on information from one or more of the sensors of the pogo stick 200 and/or the portable device 104. FIG. 3A illustrates that there may be multiple axes associated with the pogo stick 200. For instance, as shown there is a roll axis 310, a pitch axis 320 and a yaw axis 330. FIG. 3B illustrates an exemplary spin exercise (trick) 340, and FIG. 3C illustrates an exemplary flip exercise (trick) 350.

When trick 340 is performed, at least one of sensors 206 a-b may measure the angular displacement of the pogo stick 200 around roll axis 310 and feed signal indicating the displacement to application 144. Application 144 may use the signal to produce a signature for trick 340. The signature may indicate that the angular displacement around the roll axis 310 is 360°. After the signature for trick 340 is produced, it is compared to exercise signatures in trick database 146 and a determination is made that trick 340 is a spin based on the comparison. For example, the signature of the spin trick shown in FIG. 3B may include an indication of a 360-degree angular displacement along roll axis 310. In that regard by comparing a signature of a movement of the pogo stick 200, such as trick 340, to signatures for different exercises, application 144 is able to identify the exercise (trick) that the movement constitutes.

As another example, when trick 350 of FIG. 3C is performed, application 144 may receive signals from one or both of sensors 206 a-b indicating the angular displacement of pogo stick 200 around pitch axis 320. Based on the signal, application 144 may produce a signature indicating that the pogo stick has rotated 360° around pitch axis 320. The signature is subsequently compared to known signatures for different exercises (tricks) and recognized as matching the signature for a trick identified in the trick database 146 as a flip.

The exercise (trick) scores generated with the scoring models of database 148 may desirably be published using a website or other Internet-accessible location. FIG. 4 illustrates an exemplary website 400 that can provide one or more authorized users with information regarding exercises or other tricks performed by various users. Website 400 may be hosted on server 102 via website hosting module 150, which may be a conventional website hosting application. The website 400 may comprise a single web page or a plurality of web pages, such as web page 402 of FIG. 4 and web page 502 of FIG. 5. In one example, website 400 receives, from portable device 104, information about exercises performed with an exercise apparatus such as pogo stick 200. The received information may be an indication of a score along with an exercise name, raw data obtained from one or more of the sensors 138 and sensor 136, etc. In the case where the received information is raw sensor data, as mentioned, processor 120 of server 102 may execute an instance of the application 144 in order to identify the exercise (trick) performed and generate a score for it.

In addition to portable device 104, website 400 may also interact with other user devices such as portable device 106 and portable device 108 to receive information about exercises performed with exercise apparatuses 112 and 114, respectively. Website 400 may publish this information in the same way as the information regarding exercises apparatus 110 (e.g., pogo stick 200). Furthermore, website 400 may be visited by desktop computers, laptops, and other client devices that are not affiliated with a given exercise apparatus. Thus, in one aspect, website 400 may be a social networking website where sporting enthusiasts can meet and exchange information about their latest achievements in performing different exercises.

As FIG. 4 illustrates, the interface of website 400 may display data regarding the performance of different exercises (tricks) by different users. For example, tab 410 contains information about the performance of spins, tab 420 contains information about the performance of flips, and tab 430 contains information about one-footers. Clicking on tab 410 displays a ranking 440 of different users according to exercise scores received. Although, in this example, users are ranked according to a score, they can be ranked based on another metric that is measured by sensors on the exercise apparatus and/or a portable device associated with that exercise apparatus, such as height of jump, length of jump, speed, angular displacement, linear displacement, and acceleration or deceleration. In one example, the portable device is associated with the given exercise apparatus by wireless communication between their transceiver modules. In another example, the portable device may be coupled to the exercise apparatus via an electrical or optical cable. The portable device may be mounted to the exercise apparatus, or may be held, worn or otherwise maintained by the user.

Furthermore, website 400 may gather statistics about the use of exercise apparatus 100 by the user. The statistics may be gathered (or accumulated) by personal device 104 and transmitted to server 102, or alternatively it may be gathered by website 400. As shown in FIG. 5, webpage 502 may maintain information regarding exercises (tricks) associated with one or more users. Such information may include statistics such as highest number of consecutive jumps, the longest time spent jumping without pause, and highest number of consecutive back flips. The information transmitted to the website 400 or stored in its database may or may not include certain user information. However, the system may provide an opt-in feature, whereby some or all of a user's personal information need not be collected, or may actually be removed in order to protect the privacy of the user. In another instance, certain information associated with a given user may only be shared with other authorized users. In a further instance, some of all of a user's personal information may be anonymized and/or stored in a secure, encrypted database.

Furthermore, the website 400 may be used to provide real time information to various users and spectators as to what exercises (trick) are being performed, how well they are performed, and whether any records have been broken. Users may log on to a web page, be provided live streaming results, or otherwise may receive emails, text messages, tweets or other alerts. Thus, in one scenario, a competition may be performed by users at physically separate locations, but those users and other spectators may follow the competition in real time. New tricks may be identified using data captured by the sensors, and can be shared with others for enjoyment.

FIG. 5 illustrates that website 400 may maintain a table 530, which identifies a user's personal records, such as highest jump, longest jump, most flips, and most spins during the same jump. Furthermore, webpage 502 may include a list 520 identifying the different exercises that a given user has performed with his or her exercise apparatus. The list 520 may also identify a score received for the exercises (trick) and/or other characteristics of the exercises that are measured by various sensors, such as height of jump, length of jump, speed, and acceleration or deceleration. Webpage 502 may also include a buddy list 540 associated with a given user. This buddy list 540 may indicate who has access to the user's exercise/trick information. It may also indicate how such information may be provided to the people on the buddy list, such as by an instant message (e.g., SMS, IM), tweet or email.

In addition to publishing information about exercises performed with various exercise apparatuses, website 400 may also distribute copies of the application 144. In one aspect, website 400 may provide the application 144 only to users who have purchased a specific type of exercise apparatus. Thus, for example, website 400 may provide copies of the application 144 in response to proper authentication information, such as a valid serial number for a specific type of exercise apparatus (e.g., the Flybar®, Master® or Maverick® brand pogo sticks), user name, email, and so forth. Such authentication may be done, by way of example only, after purchase. Alternatively, the application 144 may be provided to the user upon purchase of the exercise apparatus. For instance, in this case, if a user purchases an exercise apparatus such as a pogo stick from a the website of an authorized retailer, then in one example the application 144 is made available for download at the time of purchase. This may be done for a fee or for no extra charge.

Furthermore, website 400 may also distribute application upgrades. Website 400 may initially provide a basic or trial version of application 144 that recognizes a limited set of exercises. As users become able to perform a greater number of exercises (or tricks), the basic or trial version could be upgraded to recognize additional exercises (e.g. triple axel). The upgrades may come as plug-in installations, software updates or any other form known in the art. In one instance, the basic version of application 144 may be provided for free while the upgrades could be provided for a charge.

Turning to FIG. 6, this figure depicts a flowchart of a process 600 that may be performed by application 144. At task 610, a start event is detected at time t₁. The start event may be a sensor measurement crossing a predetermined threshold. For example, the start event may be the force measured by sensor 208 exceeding 600N. The start event may be based on any metric that is measured by at least one of the sensors 136 and 138, such as speed, acceleration/deceleration, linear velocity in a vertical direction, linear velocity in a horizontal direction, angular velocity around yaw, pitch, and roll axis, has crossed a threshold, height, etc. In one aspect, the occurrence of the start event may indicate that exercise apparatus 110 has (or is about to) become airborne. In another aspect, the occurrence of the start event may indicate that the user of the exercise apparatus 110 has (or is about to jump).

At tasks 620 an action (trick) signature is obtained for the period between time t₁ and t₂. Task 620 is further described in the discussion with respect to FIG. 7. At task 630, an end event is detected at time t₂. The end event may be a sensor measurement crossing a predetermined threshold. For example, the start event may be the force measured by sensor 208 exceeding 200N. The end event may be based on any characteristic of the usage of exercise apparatus 110 that is measured by at least one of sensors 136 and 138, such as speed, acceleration/deceleration, linear velocity in a vertical direction, linear velocity in a horizontal direction, angular velocity around yaw, pitch, and roll axis, has crossed a threshold, height, etc. In one aspect, the occurrence of the end event may indicate that exercise apparatus 110 has landed, or is about to land, after becoming airborne.

At task 640, the action performed during the period between time t₁ and t₂ (e.g., trick 340 or trick 350) is identified. The identification may be performed by matching the signature obtained at task 620 to exercise signatures found in trick database 146. For example, trick database 146 may identify the following set of signatures:

TABLE 1 Example of Content of Trick Database 146 Signature Exercise Name Signature_1: 360_roll_displacement SPIN Signature_2: 360_pitch_displacement FLIP Signature_3: only one of sensors ONE-FOOTER 241a-b indicates that it is touched

At If the signature obtained at task 620 matches signature 1, the action performed during the period between time t₁ and t₂ is classified as a spin.

At task 650, a score associated with the exercise signature is determined based on a scoring model for the identified exercise. The scoring model is obtained from scoring model database 148.

At task 660, the portable device outputs a string associated with the identified exercise. For example, the string could by the name of the exercise or the score calculated at task 650. Alternatively, the string may be based on a measurement obtained by one of the sensors 136-138. For example, the string may indicate number of complete rotations around an axis, acceleration, speed, height of jump, and length of jump. In one aspect, the string may be output visually on a display screen of portable device 104 or, alternatively, it could be rendered in audible format by using a speaker on portable device 170. Although, in this example a string associated with the exercise is output, in other example, another indication of the exercise characteristic may be output, such as an image, animation, sound, or vibration, among others.

At task 670, the portable device outputs a statistical measure relating to the use of a corresponding exercise apparatus. The statistical measure may be output visually on a display screen of portable device 104 or, alternatively, it may be output as sound by a speaker on portable device 104. The statistical measure may relate to a count of exercises from a specific type being performed, and a count of consecutive repetitions of one or more exercise. Furthermore, the output statistical measure may be associated with a distribution of measurements of a given parameter that are obtained from sensors 136-138 (e.g. average/median/maximum jump height across a set of performed exercises).

At task 680, information about the identified exercise is transmitted to website 400. In one aspect, the transmitted information may include the name of the exercise and/or the score obtained at task 650. In another aspect, the transmitted information may include the signature obtained at task 620 and/or raw data from one of the sensors 136 or 138. In yet another aspect, the transmitted information may include statistical information that is based, at least partially, on one or more attributes of the exercise performed in the period between time t₁ and t₂ (e.g., jump height, speed, angular displacement, etc.).

FIG. 7, depicts a flowchart 700 of the subtasks associated with obtaining an exercise signature. In this example, task 620 includes obtaining one or more frames of measurements during the period between time t₁ and t₂ (710) and determining a signature for the action performed in the period between time t₁ and t₂ based on the frames (720).

At task 710, one or more frames of sensor measurements are obtained. Each frame may include data measured by sensor(s) 136, sensor(s) 138 or both. The frames may be captured during the period starting at time t₁ and ending at time t₂. The measurements in each frame of measurements may be taken at approximately the same time or during a predetermined time window (e.g., within 3, 5, 20, 100 or 300 milliseconds from one another). In one example, each of the captured frames may indicate: linear acceleration (or deceleration) of exercise apparatus 110 (e.g., vertical, horizontal), linear velocity of exercise apparatus 110 (e.g., vertical, horizontal), linear displacement of exercise apparatus 110 (e.g., vertical, horizontal), angular acceleration of exercise apparatus 110 around at least one of roll axis 310, pitch axis 320, and yaw axis 330, angular velocity of exercise apparatus 110 around at least one of roll axis 310, pitch axis 320, and yaw axis 330, angular displacement of exercise apparatus 110 around at least one of roll axis 310, pitch axis 320, and yaw axis 330, force exerted on piston 214, information about how a user is holding exercise apparatus 110, the information being obtained from at least one of sensors 202 a-b and 204 a-b, jump height, jump distance, pitch, yaw, roll, or any combination thereof.

At task 720, a signature of the actions of the exercise apparatus in the time period between time t₁ and t₂ is determined. The signature is based on at least at least one metric that is measured by at least one of the sensor 136 and/or 138, and is indicated in at least of the frames obtained at task 710. In one aspect, one of the frames captured at task 710 may become the signature. For instance, the frame captured at or around time t₂ may be used as a signature because that frame is likely to indicate the total displacement (angular or liner) over the course of the period between t₁ and t₂. Alternatively, a frame that contains the greatest value for some type of measurement may be chosen, such as the frame indicating the greatest jump height, the frame indicating the greatest jump length, the frame indicating greatest angular displacement and so forth.

In another aspect, information from multiple measurement frames may be used to form the signature. For example, the signature may be set to include one or more measurement maxima, such as maximum height reached by the exercise apparatus during a jump and maximum angular displacement.

In yet another aspect, an indication of displacement that is included in the signature may be calculated from information found in multiple frames. For example, a pitch measurement found in a frame taken at time t₁ and a pitch measurement found in a frame taken at time t₂ may be used to calculate total angular displacement of the exercise apparatus around pitch axis 320. In that regard, indications of displacement (either angular or linear) that are included in the signature may either be obtained from individual frames or, alternatively, they may be calculated based on information that is found in a set of two or more of the frames obtained at task 710.

Furthermore, the signature may be set to indicate the value of a first characteristic that is measured by the sensors at the time when a second characteristic has a predetermined value. The predetermined value can be an absolute value (e.g. jump height=1 m) or alternatively, it can be a relative value based on the statistical distribution of the measurements of the second characteristic across multiple frames captured at task 710. For example, a signature may include an indication of angular displacement at the time when exercise apparatus was at the greatest height in the air. In this example, the second characteristic is height (e.g., vertical displacement) and the predetermined value is defined as being the maximum height measured during the period between time t₁ and t₂. In other examples, the predetermined value may depend on a statistical property, other than distribution maximum, of the set measurements of the second characteristic, such as a distribution minimum or standard deviation.

FIG. 8 depicts a flowchart of a process 800 that may be performed by website 400. At task 810, website 400 provides a copy of application 144 to a portable device. At task 820, website 400 transmits an upgrade of application 144 to the portable device. As a result of the upgrade, application 144 becomes able to recognize an additional exercise that is not recognized by the previous version of application 144 transmitted at task 810. In one aspect, the upgrade may configure trick database 146 to include an entry (e.g., signature and name) for the additional exercise. In another aspect, the scoring model database 148 may also be modified to include a scoring model for the additional exercise.

At task 830, website 400 receives the information transmitted at task 680. As discussed, the received information may include the name of the exercise and/or the score obtained at task 650. In another aspect, the transmitted information may include the signature obtained at task 620 and/or raw data from one or more of the sensors 136-138.

At task 840, an indication of a characteristic of the exercise performed by the exercise apparatus during the time period between time t₁ and t₂ is published. The publishing may involve displaying the indication on website 400, or alternatively, it may involve sending the indication to one or more users from the user's buddy list 540, for instance in the form of an instant message (e.g., SMS, IM), tweet or email. The published exercise characteristic may be exercise name, exercise score, height of jump, angular displacement, or any other characteristic that can be determined based on data received from sensor(s) 136 and/or sensor(s) 138.

At task 850, a statistical measure for the user is updated. As mentioned above, the statistical measure may relate to a count of exercises from a specific type being performed, a count of consecutive repetitions of one or more exercises, average jump height across a set of exercises, and so forth. The updating may involve recalculating the statistical measure so that it reflects the information at obtained at task 840.

At task 860, the updated statistical measure is published. The publishing may involve displaying the indication on website 400, providing the information on the user's portable device, and/or sending the indication in an instant message, text or email to one or more other people from the user's buddy list 540.

FIGS. 6-8 are provided as examples. In some aspects, at least some of the tasks associated with FIGS. 6-8 may be performed in a different order than represented or performed concurrently. Furthermore, in some aspects, some of tasks in FIGS. 6-8 may be altogether omitted.

As discussed, one or more sensors may be provided on a given exercise apparatus to measure movements and other characteristics of that apparatus. In one alternative, the sensor(s) may be built into the apparatus. In another alternative, sensors may be added to the apparatus. For instance, an accelerometer and/or a gyroscope may be secured to or otherwise integrated with the apparatus. The sensors of the exercise apparatus may transmit information directly to the website 400 or may locally communicate with a user's portable device as explained above. If sensors are added to the apparatus, they may be sold/distributed as part of the exercise apparatus, or may be provided separately, such as with a kit or package of one or more sensors. Thus, the user has the flexibility of adding sensors as desired, depending on the skill of the user and/or price point desired.

As these and other variations and combinations of the features discussed above can be utilized without departing from the subject matter as defined by the claims, the foregoing description of exemplary aspects should be taken by way of illustration rather than by way of limitation of the subject matter as defined by the claims. It will also be understood that the provision of the examples described herein (as well as clauses phrased as “such as,” “e.g.”, “including” and the like) should not be interpreted as limiting the claimed subject matter to the specific examples; rather, the examples are intended to illustrate only some of many possible aspects.

INDUSTRIAL APPLICABILITY

The present invention enjoys wide industrial applicability including, but not limited to, information gathering, data processing and social networking regarding activities performed on sporting equipment such as exercise apparatus. 

1. An apparatus comprising: a first sensor; a second sensor configured to sense a displacement of the apparatus; an output device configured to output feedback relating to movements of the apparatus; a memory configured to store a database of exercise signatures, each exercise signature identifying a displacement that is characteristic of a corresponding exercise; and a processor, coupled to the first sensor, the second sensor, and the memory, wherein the processor is configured to: detect that a jump is performed, the detection being based on a signal from one of the first sensor and the second sensor; produce, based on signal from the second sensor, a signature for a movement of the apparatus during the jump, the signature indicating a displacement of the apparatus that occurred as a result of the movement; classify the movement as a specific type of trick by comparing the signature for the movement to the database of exercise signatures; and output feedback for presentation to one or more users, the feedback depending on the type of trick which the movement is classified as.
 2. The apparatus of claim 1, wherein: the memory is configured to store a scoring model for tricks performed using the exercise apparatus, and the processor is further configured to calculate a score based on the signature for the movement and the scoring model.
 3. The apparatus of claim 2 wherein, the processor is further configured to transmit at least one of the score and the signature for the movement to a remote server.
 4. (canceled)
 5. The apparatus of claim 1, wherein the displacement indicated by the signature for the movement is one of a vertical displacement, a horizontal displacement, and an angular displacement of the apparatus.
 6. The apparatus of claim 1, wherein the signature for the movement also indicates at least one of a speed and an acceleration of the apparatus.
 7. (canceled)
 8. The apparatus of claim 1, wherein the apparatus further comprises a handlebar, the first sensor senses whether a user is touching a part of the handlebar, and the signature also indicates whether the user is touching the part of the handlebar.
 9. The apparatus of claim 1, wherein the apparatus is one of a pogo stick, skateboard, bicycle, and skate.
 10. The apparatus of claim 1, wherein the apparatus is a portable computing device.
 11. The apparatus of claim 1, wherein the apparatus is integrated into an exercise apparatus.
 12. (canceled)
 13. A method comprising: detecting, by a device associated with an exercise apparatus, a start of a trick being performed using the exercise apparatus; obtaining, by the device, an indication of a displacement of the device that occurred as a result of a movement of the device during the trick using the exercise apparatus; and classifying, by a processor, the movement as a specific type of trick based on the indication of displacement of the device.
 14. The method of claim 13, wherein the device is connected to the exercise apparatus or is disposed within the exercise apparatus. 15-16. (canceled)
 17. The method of claim 13, wherein the start of the trick being performed is detected based on a vertical displacement of the device exceeding a threshold.
 18. The method of claim 13, further comprising calculating a score that is associated with the indication of the displacement of the device.
 19. (canceled)
 20. The method of claim 13, further comprising: detecting, by the device, that: (i) a sensor is associated with the exercise apparatus, and (ii) the sensor is available to feed data to the device; wherein the obtaining of the indication of the displacement of the device includes receiving the indication of the displacement from the sensor.
 21. A method comprising: receiving, at a server, an indication of displacement of a device that occurred as a result of a movement of the device during a trick performed using an exercise apparatus associated with the device; classifying, by the server, the movement as a type of trick based on the indication of displacement; and publishing, by the server, on a web-site, an indication of the type of trick which the movement is classified as and a score that is based on the indication of displacement.
 22. The method of claim 21, wherein the device is associated with a user, the method further comprising: updating, by the server, a record containing information relating to past tricks performed by the user to include information about the movement; recalculating, based on the indication of displacement, a statistical measure that is associated with the performance of the past tricks by the user; and publishing, by the sever, via the web-site, the statistical measure.
 23. The method of claim 21, further comprising: receiving, at the server, an indication whether a user is touching a portion of the exercise apparatus during the trick; and wherein the movement is classified based on the indication of whether the user is touching the portion of the exercise apparatus.
 24. The method of claim 21, further comprising ranking, by the server, a user associated with the device in relation to other users, the ranking being based on the indication of displacement.
 25. The method of claim 21, wherein the server is further configured to provide a trick application to a portable device of a user, the trick application being configured to perform at least one of data collection from sensors associated with the exercise apparatus, processing of the collected data, and presentation of an indication of the collected data to the user. 26-35. (canceled)
 36. An apparatus comprising: an interface for connecting to a device via a communications network; a memory for storing a database of exercise signatures, each signature identifying a displacement that is characteristic of a corresponding exercise; and a processor, coupled to the interface and the memory, wherein the processor is configured to: receive from the device, over the communications network, a signature of a movement of a device that occurred during a trick performed using an exercise apparatus; classify the movement as a specific type of trick by comparing the signature to the database of exercise signatures that is stored in the memory; and publish on a web-site, an indication of the type of exercise which the movement is classified and a score that is based on the signature.
 37. The apparatus of claim 36 wherein the memory is configured to store a record containing information relating to past exercises performed by a user and the processor is further configured to: update the record to include information about the movement; recalculate, based on the received signature, a statistical measure that is associated with the performance of tricks by the user; and publish via the web-site, the statistical measure.
 38. The apparatus of claim 36, wherein the signature includes an indication whether a user is touching a portion of the exercise apparatus during the trick and the processor is further configured to classify the movement based on the indication of whether the user is touching the portion of the exercise apparatus.
 39. The apparatus of claim 36, wherein the processor is further configured to update a ranking of a user associated with the device in relation to other users, the ranking being based on the signature.
 40. The apparatus of claim 36, wherein the processor is further configured to provide a trick application to a portable device of a user, the trick application being configured to perform at least one of data collection from sensors associated with the exercise apparatus, processing of the collected data, and presentation of an indication of the collected data to a user.
 41. The apparatus of claim 40, wherein the trick application is provided upon purchase of the exercise apparatus.
 42. The apparatus of claim 40, wherein the processor is further configured to provide an update of the trick application to the portable device. 